#include<iostream>
#include<bits/stdc++.h>
#include<bits/stdc++.h>
using namespace std;
#define vi vector<int>
#define pii pair<int,int>
#define int long long
#define ff first
#define se second
#define pb push_back
#define rep(i,a,b) for(int i=a;i<b;i++)
#define N 1000002
vector<vi> adj(N);
vi vis(N,0);
vi vis2(N,0);
vi deg(N,0);
vi depth(N,0);
int dp[50001][501];
vi res;
map<int,int> m;
set<int> k,l;
bool f=0;
int mod=998244353;
void deph(int i,int p){
vis2[i]=1;
depth[i]=depth[p]+1;
for(auto it:adj[i]){
if(!vis2[it])
deph(it,i);
}
}
void dfs(int i){
// cout<<i<<" ";
vis[i]=1;
if(m[i]>0)
l.insert(i);
if(k==l)
f=1;
for(auto it:adj[i]){
if(!vis[it]){
dfs(it);
}
}
l.erase(i);
}
void solve(){
int n,k;
cin>>n>>k;
vi a(n),b(n-1);
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n-1;i++){
cin>>b[i];
}
int days=0;
int curr=0;
int res=100000000000000000;
for(int i=0;i<n;i++){
int p=(ceil((double)(k-curr)/(double)a[i]));
res=min(res,days+p);
if(i==n-1)
break;
int o=ceil((double)(b[i]-curr)/(double)(a[i]));
curr+=a[i]*o-b[i];
days+=(o+1);
}
cout<<res;
}
int32_t main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int t;
cin>>t;
while(t--){
solve();
cout<<"\n";
}
}
/*vector<int> primefactorization(int n){
vector<int> res;
while(n>1){
int count=0;
int p=spf[n];
while(n%p==0&&n!=1){
n/=p;
count++;
}
res.push_back(p);
}
return res;
}*/
1607A - Linear Keyboard | EQUALCOIN Equal Coins |
XOREQN Xor Equation | MAKEPAL Weird Palindrome Making |
HILLSEQ Hill Sequence | MAXBRIDGE Maximise the bridges |
WLDRPL Wildcard Replacement | 1221. Split a String in Balanced Strings |
1002. Find Common Characters | 1602A - Two Subsequences |
1555A - PizzaForces | 1607B - Odd Grasshopper |
1084A - The Fair Nut and Elevator | 1440B - Sum of Medians |
1032A - Kitchen Utensils | 1501B - Napoleon Cake |
1584B - Coloring Rectangles | 1562B - Scenes From a Memory |
1521A - Nastia and Nearly Good Numbers | 208. Implement Trie |
1605B - Reverse Sort | 1607C - Minimum Extraction |
1604B - XOR Specia-LIS-t | 1606B - Update Files |
1598B - Groups | 1602B - Divine Array |
1594B - Special Numbers | 1614A - Divan and a Store |
2085. Count Common Words With One Occurrence | 2089. Find Target Indices After Sorting Array |